1. Field of the Invention
The present invention relates generally to serving a document to one or more clients from a remote server.
2. Related Art
Today, in any organization, a wide range of computer applications are used by individual users to perform the tasks and duties associated with their responsibilities. These users can be employees, suppliers, vendors, or customers. These applications range from simple desktop applications like Word, Excel, Powerpoint, to sophisticated server-based applications requiring specialized hardware and software like Oracle, Autocad, Spice, Nastran. Applications enable organizations to increase productivity in a number of ways. They can lead to revenue generation, better services, and increased levels of user knowledge.
Each application has to be installed on client systems. It has to be licensed on the client. For different applications, customized hardware may be required. In addition, different applications require different operating systems. Thus a user of a client system having a Windows operating system running on a single processor may wish to use an application requiring a Unix operating system with multiple processors. Further, users are geographically dispersed and have access to different client environments within the home or office.
In addition, the data and documents associated with an application can be dispersed at different locations. Getting the document from one location to another location and back becomes another tedious and time-consuming task.
An additional complication in many cases is that each person is required to have their own copy (usually an identical copy) of the document editing program (e.g., Browser, the spreadsheet application, the word processing program, the image editing program, etc) required to view, create or modify the document. This is not only expensive in many cases, but also requires additional effort to install, maintain, and update the document editing programs on individual computer systems, referred to here as client computer systems.
One alternative method to this process is to travel to the remote location where the remote document or application is stored/served and perform the task of viewing or using the application to get the work done. The shortcoming with this method is that there may be significant travel time and travel cost in getting the user to the remote location. There may be an additional restriction that the “right” location is constrained to be the location with access to the “correct” document editing program.
There are significant costs in physically locating applications in a distributed environment, in choice of where the application executes—on the server, on the client or on some distributed combination. There are additional costs associated with the relative location of the data and the client and the means of connectivity.
Thus, it is highly desirable to have ubiquitous access to the applications and the data by providing a means for central document storage, and central application storing/serving.
A partial solution to this problem is provided by the Citrix Independent Computing Architecture http://www.citrix.com/products/ica.asp. In this method, the clients initially interface with a Citrix server. The Citrix server then determines the available server running Windows NT for serving the application and then enables the client to connect directly with the Windows NT server. At this point, the Citrix server is no longer necessary. The limitation of this solution is that once the application is invoked on the application server, the client communicates directly with the application server and bypasses the Citrix server. So the solution then degrades to a peer-to-peer architecture model, and the advantages of the client-server architecture are lost. Also this solution is limited to applications running the Windows operating system.